package com.wanxi.dao.impl;//package com.wanxi.dao.impl;
//
//import com.wanxi.dao.ProductDao;
//import com.wanxi.model.ProductModel;
//import com.wanxi.util.JDBC;
//
//import java.math.BigDecimal;
//import java.sql.ResultSet;
//import java.sql.SQLException;
//import java.util.ArrayList;
//import java.util.List;
//
//public class ProductImpl implements ProductDao {
//    @Override
//    public int add(ProductModel productModel) {
//        String sql = "insert into product(" +
//                "`name`,`price`," +
//                "`content`,is_show,is_recommend," +
//                "img_href,create_time,update_time," +
//                "enable,where_show,clothingstyle_id) values('" + productModel.getName() + "','" + productModel.getPrice() + "'," +
//                "'" + productModel.getContent() + "','" + productModel.getIsShow() + "','"+ productModel.getIsRecommend() + "'," +
//                "'" + productModel.getImgHref() + "',now(),now()," +
//                "'" + productModel.getEnable() + "','" + productModel.getWhereShow() + "','" + productModel.getClothingStyleId() + "')";
//        return JDBC.update(sql);
//    }
//
//    @Override
//    public int update(ProductModel productModel) {
//        String sql = "update product set ";
//        if (!"".equals(productModel.getName())) {
//            sql += " name ='" + productModel.getName() + "',";
//
//        }
//        if (productModel.getClothingStyleId()!=null&&productModel.getClothingStyleId()!= -1) {
//            sql += " clothingstyle_id ='" + productModel.getClothingStyleId() + "',";
//
//        }
//        if(!"".equals(productModel.getImgHref())){
//            sql+=" img_href='"+productModel.getImgHref()+"', ";
//        }
//        if(!new BigDecimal("0").equals(productModel.getPrice())){
//            sql+=" price='"+productModel.getPrice()+"', ";
//        }
//        if(!"".equals(productModel.getContent())){
//            sql+=" content='"+productModel.getContent()+"', ";
//        }
//        sql += " update_time = now() ";
//        sql += " where id=" + productModel.getId();
//        return JDBC.update(sql);
//    }
//
//    @Override
//    public int delete(ProductModel productModel) {
//                String sql=" delete from product where id = "+productModel.getId();
//                return JDBC.update(sql);
//    }
//
//    @Override
//    public ProductModel findById(ProductModel productModel) {
//        String sql = "select * from product where id=" + productModel.getId();
//        ResultSet resultSet = JDBC.query(sql);
//        ProductModel model = null;
//        try {
//            while (resultSet.next()) {
//                model = new ProductModel();
//                model.setId(resultSet.getInt("id"));
//                model.setName(resultSet.getString("name"));
//                model.setPrice(resultSet.getBigDecimal("price"));
//                model.setImgHref(resultSet.getString("img_href"));
//                model.setContent(resultSet.getString("content"));
//                model.setClothingStyleId(resultSet.getInt("clothingstyle_id"));
//            }
//        } catch (SQLException e) {
//            e.printStackTrace();
//        }
//        return model;
//    }
//
//    @Override
//    public List<ProductModel> findAll(ProductModel productModel) {
//        String sql = " select * from (" +
//                " select p.*,c.name clothingstyleName from " +
//                " product p left join clothingstyle c " +
//                " on p.clothingstyle_id=c.id) temp" +
//                " where 1=1";
//        if (!"".equals(productModel.getName())) {
//            sql += " and temp.name like '%" + productModel.getName() + "%'";
//        }
//        if (!new BigDecimal("0").equals(productModel.getPriceStart())) {
//            sql += " and temp.price >= '" + productModel.getPriceStart() + "'";
//        }
//        if (!new BigDecimal("0").equals(productModel.getPriceEnd())) {
//            sql += " and temp.price <= '" + productModel.getPriceEnd() + "'";
//        }
//        if (!"".equals(productModel.getContent())) {
//            sql += " and temp.content like '%" + productModel.getContent() + "%'";
//        }
//        if (productModel.getIsShow()!=null&&productModel.getIsShow()!= -1) {
//            sql += " and temp.is_show ="+productModel.getIsShow();
//        }
//        if (productModel.getIsRecommend()!=null&&productModel.getIsRecommend()!= -1) {
//            sql += " and temp.is_recommend = "+productModel.getIsRecommend();
//        }
//        if (productModel.getClothingStyleId()!=null&&productModel.getClothingStyleId()!= -1) {
//            sql += " and temp.clothingstyle_id = "+productModel.getClothingStyleId();
//        }
//        if (productModel.getWhereShow()!=null&&productModel.getWhereShow()!= -1) {
//            sql += " and temp.where_show = "+productModel.getWhereShow();
//        }
//        if (productModel.getEnable()!=null&&productModel.getEnable()!= -1) {
//            sql += " and temp.enable = "+productModel.getEnable();
//        }
//        sql += " order by id desc ";
//        sql += " limit " + (productModel.getPage() - 1) * productModel.getLimit() + "," + productModel.getLimit();
//
//        ResultSet query = JDBC.query(sql);
//        List<ProductModel> list=new ArrayList<>();
//        try {
//            while (query.next()){
//                ProductModel model=new ProductModel();
//                model.setId(query.getInt("id"));
//                model.setName(query.getString("name"));
//                model.setPrice(query.getBigDecimal("price"));
//                model.setContent(query.getString("content"));
//                model.setIsShow(query.getInt("is_show"));
//                model.setIsRecommend(query.getInt("is_recommend"));
//                model.setImgHref(query.getString("img_href"));
//                model.setCreateTime(query.getString("create_time"));
//                model.setUpdateTime(query.getString("update_time"));
//                model.setEnable(query.getInt("enable"));
//                model.setWhereShow(query.getInt("where_show"));
//                model.setClothingStyleName(query.getString("clothingstyleName"));
//                model.setClothingStyleId(query.getInt("clothingstyle_id"));
//                list.add(model);
//
//            }
//        } catch (SQLException e) {
//            e.printStackTrace();
//        } ;
//        return list;
//    }
//
//    @Override
//    public int count(ProductModel productModel) {
//        String sql = " select count(*) count from (" +
//                " select p.*,c.name clothingstyleName from " +
//                " product p left join clothingstyle c " +
//                " on p.clothingstyle_id=c.id) temp" +
//                " where 1=1";
//        if (!"".equals(productModel.getName())) {
//            sql += " and temp.name like '%" + productModel.getName() + "%'";
//        }
//        if (!new BigDecimal("0").equals(productModel.getPriceStart())) {
//            sql += " and temp.price >= '" + productModel.getPriceStart() + "'";
//        }
//        if (!new BigDecimal("0").equals(productModel.getPriceEnd())) {
//            sql += " and temp.price <= '" + productModel.getPriceEnd() + "'";
//        }
//        if (!"".equals(productModel.getContent())) {
//            sql += " and temp.content like '%" + productModel.getContent() + "%'";
//        }
//        if (productModel.getIsShow()!=null&&productModel.getIsShow()!= -1) {
//            sql += " and temp.is_show ="+productModel.getIsShow();
//        }
//        if (productModel.getIsRecommend()!=null&&productModel.getIsRecommend()!= -1) {
//            sql += " and temp.is_recommend = "+productModel.getIsRecommend();
//        }
//        if (productModel.getClothingStyleId()!= -1) {
//            sql += " and temp.clothingstyle_id = "+productModel.getClothingStyleId();
//        }
//        if (productModel.getWhereShow()!=null&&productModel.getWhereShow()!= -1) {
//            sql += " and temp.where_show = "+productModel.getWhereShow();
//        }
//        if (productModel.getEnable()!=null&&productModel.getEnable()!= -1) {
//            sql += " and temp.enable = "+productModel.getEnable();
//        }
////        sql += " order by id desc ";
////        sql += " limit " + (productModel.getPage() - 1) * productModel.getLimit() + "," + productModel.getLimit();
//        ResultSet query = JDBC.query(sql);
//        try {
//            while (query.next()) {
//                return query.getInt("count");
//            }
//        } catch (SQLException e) {
//            e.printStackTrace();
//        }
//        return 0;
//    }
//
//    @Override
//    public int enable(ProductModel productModel) {
//        String sql="update product set enable =case enable when 0 then 1 when 1 then 0 when -1 then 0 end where id="+productModel.getId()+"";
////        String sql="update product set enable=1-enable where id="+productModel.getId()+"";
////        String sql = " update product set enable=enable^1 where id=  '"+ productModel.getId() + "'";
//
//        return JDBC.update(sql);
//    }
//    @Override
//    public int isShow(ProductModel productModel) {
//        String sql="update product set is_show =case is_show when 0 then 1 when 1 then 0 when -1 then 0 end where id="+productModel.getId()+"";
////        String sql="update product set enable=1-enable where id="+productModel.getId()+"";
////        String sql = " update product set is_show=is_show^1 where id=  '"+ productModel.getId() + "'";
//
//        return JDBC.update(sql);
//    }
//
//    @Override
//    public int isRecommend(ProductModel productModel) {
//        String sql="update product set is_recommend =case is_recommend when 0 then 1 when 1 then 0 when -1 then 0 end where id="+productModel.getId()+"";
////        String sql = " update product set is_recommend=is_recommend^1 where id=  '"+ productModel.getId() + "'";
//
//        return JDBC.update(sql);
//    }
//
//    @Override
//    public int whereShow(ProductModel productModel) {
////        String sql = " update product set where_show=where_show^1 where id=  '"+ productModel.getId() + "'";
//        String sql="update product set where_show =case where_show when 0 then 1 when 1 then 0 when -1 then 0 end where id="+productModel.getId()+"";
//        return JDBC.update(sql);
//    }
//}
